上传管理,未完成

chengzhenyu 8 年之前
父节点
当前提交
0a52f857bb

+ 11 - 0
app/src/main/java/ai/pai/lensman/upload/IUploadManager.java

@@ -0,0 +1,11 @@
1
+package ai.pai.lensman.upload;
2
+
3
+
4
+public interface IUploadManager<T> {
5
+
6
+    void startUpload(T t);
7
+    void stopUpload(T t);
8
+    void registerUploadListener(UploadListener<T> listener);
9
+    void unregisterUploadListener(UploadListener<T> listener);
10
+
11
+}

+ 9 - 0
app/src/main/java/ai/pai/lensman/upload/UploadListener.java

@@ -0,0 +1,9 @@
1
+package ai.pai.lensman.upload;
2
+
3
+
4
+public interface UploadListener<T> {
5
+
6
+    void onUploadSuccess(T t);
7
+
8
+    void onUploadFail(T t);
9
+}

+ 90 - 0
app/src/main/java/ai/pai/lensman/upload/UploadManager.java

@@ -0,0 +1,90 @@
1
+package ai.pai.lensman.upload;
2
+
3
+import android.app.Service;
4
+import android.content.Intent;
5
+import android.os.Binder;
6
+import android.os.IBinder;
7
+
8
+import java.util.concurrent.CopyOnWriteArrayList;
9
+
10
+import ai.pai.lensman.bean.PhotoBean;
11
+
12
+public class UploadManager extends Service implements IUploadManager<PhotoBean>,UploadListener<PhotoBean>{
13
+
14
+    private CopyOnWriteArrayList<PhotoBean> uploadList;
15
+    private CopyOnWriteArrayList<UploadListener<PhotoBean>> listeners;
16
+    private PhotoBean uploadingPhoto;
17
+
18
+    @Override
19
+    public void onCreate() {
20
+        super.onCreate();
21
+        listeners = new CopyOnWriteArrayList<>();
22
+        uploadList = new CopyOnWriteArrayList<>();
23
+
24
+    }
25
+
26
+    @Override
27
+    public IBinder onBind(Intent intent) {
28
+        return new MyBinder();
29
+    }
30
+
31
+    @Override
32
+    public int onStartCommand(Intent intent, int flags, int startId) {
33
+        return super.onStartCommand(intent, flags, startId);
34
+    }
35
+
36
+    @Override
37
+    public void startUpload(PhotoBean photoBean) {
38
+        if (uploadList.contains(photoBean)) {
39
+            return;
40
+        }
41
+        uploadList.add(photoBean);
42
+        if(uploadingPhoto==null){
43
+            //TODO
44
+        }
45
+    }
46
+
47
+    @Override
48
+    public void stopUpload(PhotoBean photoBean) {
49
+        if(photoBean!=null && photoBean.equals(uploadingPhoto)){
50
+
51
+        }
52
+    }
53
+
54
+    @Override
55
+    public void registerUploadListener(UploadListener<PhotoBean> listener) {
56
+        listeners.add(listener);
57
+    }
58
+
59
+    @Override
60
+    public void unregisterUploadListener(UploadListener<PhotoBean> listener) {
61
+        listeners.remove(listener);
62
+    }
63
+
64
+    @Override
65
+    public void onUploadSuccess(PhotoBean photoBean) {
66
+        for(UploadListener<PhotoBean> listener:listeners){
67
+            listener.onUploadSuccess(photoBean);
68
+        }
69
+    }
70
+
71
+    @Override
72
+    public void onUploadFail(PhotoBean photoBean) {
73
+        for(UploadListener<PhotoBean> listener:listeners){
74
+            listener.onUploadFail(photoBean);
75
+        }
76
+    }
77
+
78
+    private void _upload(PhotoBean photoBean){
79
+
80
+    }
81
+
82
+
83
+    public class MyBinder extends Binder {
84
+
85
+        public UploadManager getService(){
86
+            return UploadManager.this;
87
+        }
88
+
89
+    }
90
+}